// class EventBus {
//     constructor() {
//         this.events = {}
//     }

//     on(name, callback) {
//         if (!this.events[name]) {
//             this.events[name] = []
//         }
//         this.events[name].push(callback)
//     }

//     off(name, callback) {
//         if (this.events[name]) {
//             this.events[name] = this.events[name].filter(cb => cb !== callback)
//         }
//     }
//     emit(name, data) {
//         if (this.events[name]) {
//             this.events[name].forEach(callback => callback(data));
//         }
//     }
// }

